import 'package:chat_app_project/generated/json/base/json_field.dart';
import 'package:chat_app_project/generated/json/user_login_info_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class UserLoginInfoEntity {
	DateTime? activeTime;
	String? authType;
	String? avatar;
	int? collects;
	int? contents;
	int? follows;
	int? fans;
	int? likes;
	int? reports;
	int? id;
	String? inviteCode;
	String? ip;
	String? ipAddress;
	String? loginTime;
	String? nickName;
	int? parentId;
	DateTime? registerTime;
	String? sex;
	String? status;
	UserLoginInfoTokenVo? tokenVo;
	String? userName;
	UserLoginInfoWalletVo? walletVo;

	UserLoginInfoEntity();

	factory UserLoginInfoEntity.fromJson(Map<String, dynamic> json) => $UserLoginInfoEntityFromJson(json);

	Map<String, dynamic> toJson() => $UserLoginInfoEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class UserLoginInfoTokenVo {
	late String loginToken;
	late int memberId;
	late String refreshToken;

	UserLoginInfoTokenVo();

	factory UserLoginInfoTokenVo.fromJson(Map<String, dynamic> json) => $UserLoginInfoTokenVoFromJson(json);

	Map<String, dynamic> toJson() => $UserLoginInfoTokenVoToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class UserLoginInfoWalletVo {
	late int coin;
	late int freezeMoney;
	late int memberId;
	late int money;

	UserLoginInfoWalletVo();

	factory UserLoginInfoWalletVo.fromJson(Map<String, dynamic> json) => $UserLoginInfoWalletVoFromJson(json);

	Map<String, dynamic> toJson() => $UserLoginInfoWalletVoToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}
